Regeln für Projekte automatisch prüfen

Neuron Power Engineer stellt ein Werkzeug zur automatisierten Regelprüfung für ein Neuron Power Engineer-Projekt oder für einige Objekte eines Neuron Power Engineer-Projekts zur Verfügung. Dieses Werkzeug wird auch als Modell-Regel-Prüfer oder als Möglichkeit zur Validierung einer Anwendung bezeichnet.

Gut zu wissen

(Graue Glühbirne) Das Werkzeug ist zur Verwendung durch einen fortgeschrittenen Anwender von Neuron Power Engineer vorgesehen.

(Graue Glühbirne)Bedingung für die erfolgreiche Verwendung des Werkzeugs sind Kenntnisse über die durchzuführende Aktion, wie sie in der grafischen Benutzeroberläche von Neuron Power Engineer ausgeführt werden würde.

(Graue Glühbirne)Die Ausgaben des Werkzeugs erfolgen nur in englischer Sprache.

In diesem Artikel:

Vorbereitungen

  1. Stellen Sie sicher, dass Neuron Power Engineer installiert ist. Halten Sie die folgenden Informationen bereit:

    • der Pfad zum Installationsverzeichnis von Neuron Power Engineer

    • der Pfad zu einem Verzeichnis, das als Arbeitsbereich verwendet wird
      Falls das Verzeichnis nicht existiert, wird es vom Werkzeug erstellt. Falls der optionale Parameter -checkEmptyWorkspace verwendet wird (siehe die Beschreibung dieses Parameters weiter unten), muss das Verzeichnis leer sein.

    • der Pfad zum Projekt, das geprüft werden soll

    • optional: der Name des Ordners/Objekts oder der Ressource/Bibliothek, die geprüft werden soll

    • der Pfad zur Konfigurationsdatei für das Protokoll (siehe unten für weitere Informationen)
      Eine Datei mit einer Beispielkonfiguration ist in der Installation von Neuron Power Engineer enthalten.

  2. Stellen Sie sicher, dass die Regeln in den Eigenschaften des Projekts entsprechend konfiguriert sind. Details: Siehe "Konfiguration der Regeln ändern".

  3. Öffnen Sie eine Befehlszeile: z.B.  cmd.exe  unter Windows und wechseln Sie in das Installationsverzeichnis von Neuron Power Engineer.

Aufruf

NeuronPowerEngineerc --launcher.ini NeuronPowerEngineer.ini -application com.logicals.mrc.application -noSplash -projectPath <PROJECTPATH> -objectToValidate <OBJECT> -data <WORKSPACE> -outputPath <REPORTPATH> -outputFile <REPORTFILE> -checkEmptyWorkspace -vmargs -Dlog4j.configuration=file:<LOG-CONFIGURATION>

(Warnung) Der Aufruf des Werkzeugs wird nicht offiziell für Linux unterstützt. Wenn Sie dennoch versuchen wollen, das Werkzeug unter Linux aufzurufen, ersetzen Sie den Teil NeuronPowerEngineerc --launcher.ini NeuronPowerEngineer.ini -application des oben genannten Aufrufs durch NeuronPowerEngineer -application. Der restliche Teil des Aufrufs ist identisch mit dem oben genannten Aufruf.

Beschreibung der Parameter:

Parameter

Beschreibung

Beispiel

<PROJECTPATH>

absoluter Pfad zum Projekt
Falls das Projekt bereits innerhalb des Arbeitsbereichs existiert (z.B. aufgrund eines früheren automatischen Imports des Projekts), ist es auch möglich, nur den Projektnamen anzugeben.

Falls Sie das Tool für ein Projekt aufrufen, werden die entsprechenden Objekte des Projekts laut den Regeln und entsprechend der Konfiguration für das Projekt geprüft.

C:\LC3Projects\MyProject

<OBJECT>

Name des Ordners/Objekts innerhalb des Projekts, für das die Validierung ausgeführt werden soll, d.h. ein projektrelativer Pfad
Beim Standardaufruf (wenn dieser Parameter nicht angegeben ist) werden die entsprechenden Objekte des Projekts validiert.

Es ist möglich, die folgenden Objekte als Parameter anzugeben:

  • ein Ordner des Projekts
    Falls das Werkzeug für einen Ordner aufgerufen wird, werden die entsprechenden Objekte des Ordners laut den Regeln und entsprechend der Konfiguration für das Projekt geprüft.

  • ein einzelnes Objekt des Projekts, z.B. ein SPS-Objekt, eine Bibliothekskonfiguration oder ein Objekt, das einen Baustein enthält
    Falls das Werkzeug für ein SPS-Objekt aufgerufen wird, werden alle Objekte, die beginnend bei der Ressource verwendet werden, laut den Regeln und entsprechend der Konfiguration für die Ressource geprüft. Falls das Werkzeug für eine Bibliothekskonfiguration aufgerufen wird, werden die Objekte, die in der Bibliothekskonfiguration angegeben sind, laut den Regeln für das Projekt und eines vordefinierten Regelsatzes geprüft. Falls das Werkzeug für eine POE (z.B. ein ST-Objekt) aufgerufen wird, wird die POE laut den Regeln und entsprechend der Konfiguration für das Projekt geprüft.
    (Info) Wenn Sie ein Objekt angeben, fügen Sie die entsprechende Objekterweiterung hinzu (siehe Beispiele auf der rechten Seite).

für einen Ordner: src ein SPS-Objekt: local.iecplc für ein ST-Objekt: program.iecst oder plc\common\myblock.iecst
für eine Bibliothekskonfiguration: myLib01.lc3lib

<WORKSPACE>

absoluter Pfad zu einem Arbeitsbereich, in den das Projekt importiert werden soll
Beachten Sie:

  • Das Verzeichnis des Arbeitsbereichs darf sich nicht innerhalb eines Verzeichnisses befinden, bei dem es sich um ein Neuron Power Engineer-Projekt handelt.

  • Möglicherweise muss dieses Verzeichnis leer sein – dies hängt vom optionalen Parameter -checkEmptyWorkspace ab (siehe Beschreibung dieses Parameters weiter unten).

  • Nach dem Aufruf enthält der Arbeitsbereich einen Verweis auf das Neuron Power Engineer-Projekt. Das bedeutet, dass das Neuron Power Engineer-Projekt nicht in den Arbeitsbereich kopiert wurde.
    Dies ist das gleiche Verhalten wie innerhalb der grafischen Benutzeroberfläche von Neuron Power Engineer, wenn Sie den Befehl Importieren... und den Importtyp Vorhandene Projekte in den Arbeitsbereich mit der deaktivierten Option Projekte in Arbeitsbereich kopieren verwenden würden.

  • Falls aufgrund eines früheren Imports der Verweis auf das Neuron Power Engineer-Projekt bereits im angegebenen Arbeitsbereich vorhanden ist, wird der Import nicht erneut durchgeführt, um die Leistung des Werkzeugs zu verbessern.

C:\temp\LC3Workspace

<REPORTPATH>

absoluter oder relativer Pfad, wo die Berichtsdatei erstellt werden soll
Falls das Verzeichnis nicht existiert, wird es vom Werkzeug erstellt.
Beim Standardaufruf (wenn dieser Parameter nicht angegeben ist) wird der Bericht so erzeugt, als ob die Validierung innerhalb der grafischen Benutzeroberfläche von Neuron Power Engineer gestartet wird.
Details: Siehe "Ergebnisse der Prüfung in Sicht "Validieren"" und Überschrift "Bericht für Validierung".

C:\temp\validation

<REPORTFILE>

Dateiname des erzeugten Berichts
Falls die Datei bereits existiert, überschreibt das Werkzeug diese Datei.
Beim Standardaufruf (wenn dieser Parameter nicht angegeben ist) wird der Bericht so erzeugt, als ob die Validierung innerhalb der grafischen Benutzeroberfläche von Neuron Power Engineer gestartet wird. Es ist möglich, einen solchen Bericht in die Sicht Validieren von Neuron Power Engineer zu laden
Details: Siehe "Ergebnisse der Prüfung in Sicht "Validieren"" und Überschrift "Bericht für Validierung".

report01.mrclog

<LOG-CONFIGURATION>

Pfad zur Konfigurationsdatei für das Protokoll
Alle Meldungen des Werkzeugs werden an das Gerät ausgegeben, das in der Konfigurationsdatei für das Protokoll angegeben ist.

C:\LC3LogConfig\log4j.xml

  • Dieser Parameter -noSplash  ist optional. Wird er nicht angegeben, wird der Startbildschirm von Neuron Power Engineer nach dem Aufruf angezeigt.

  • Dieser Parameter -checkEmptyWorkspace ist ebenfalls optional. Geben Sie diesen Parameter an, um zu prüfen, ob der angegebene Arbeitsbereich leer ist. Das Neuron Power Engineer-Projekt wird nur importiert, falls der Arbeitsbereich leer ist.Beim Standardaufruf (wenn dieser Parameter nicht angegeben wird) wird das Neuron Power Engineer-Projekt immer in den Arbeitsbereich importiert – unabhängig davon, ob der Arbeitsbereich leer ist oder nicht. Ist das Neuron Power Engineer-Projekt bereits im Arbeitsbereich vorhanden, wird das Neuron Power Engineer-Projekt neu importiert.

  • Dieser Parameter -Dlog4j.configuration ist ebenfalls optional. Neuron empfiehlt jedoch, diesen Parameter anzugeben, damit Protokoll-Ereignisse ausgegeben werden.

Beispiel 1 für Aufruf, mit der Validierung der Objekte eines Projekts inkl. Prüfung des leeren Arbeitsbereichs
NeuronPowerEngineerc --launcher.ini NeuronPowerEngineer.ini -application com.logicals.mrc.application -noSplash -projectPath C:\LC3Projects\MyProject -data C:\temp\LC3Workspace -checkEmptyWorkspace -vmargs -Dlog4j.configuration=file:C:\LC3LogConfig\log4j.xml
Beispiel 2 für Aufruf, mit der Validierung der Objekte eines Projekts, wobei nur der Projektname angegeben wird (da das Projekt bereits in den Arbeitsbereich importiert wurde)
NeuronPowerEngineerc --launcher.ini NeuronPowerEngineer.ini -application com.logicals.mrc.application -noSplash -projectPath MyProject -data C:\temp\LC3Workspace -vmargs -Dlog4j.configuration=file:C:\LC3LogConfig\log4j.xml
Beispiel 3 für Aufruf, mit der Validierung der Objekte in einem angegebenen Projekt-Ordner und der Umleitung des erzeugten Berichts
NeuronPowerEngineerc --launcher.ini NeuronPowerEngineer.ini -application com.logicals.mrc.application -noSplash -projectPath MyProject -objectToValidate src -outputPath C:\temp\validation -outputFile report01.mrclog -data C:\temp\LC3Workspace -vmargs -Dlog4j.configuration=file:C:\LC3LogConfig\log4j.xml

Konfigurationsdatei für das Protokoll

Diese Datei wird zur Konfiguration des log4j-Protokollierungsmechanismus benötigt. Die Datei gibt an, wie Protokoll-Ereignisse ausgegeben werden.

Konfigurationsdatei für das Protokoll (Beispiel)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="false" xmlns:log4j='http://jakarta.apache.org/log4j/'>
 
  <!-- This configuration logs to console. -->
  <appender name="console" class="org.apache.log4j.ConsoleAppender">
    <param name="target" value="System.out"/>
    <param name="immediateFlush" value="true"/>
    <param name="encoding" value="UTF-8"/>
    <param name="threshold" value="info"/>
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p:  %m%n" />
    </layout>
  </appender>
 
  <!-- This configuration logs to a file, with more information than for the console. -->
  <appender name="file" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="file" value="C:\\temp\\logfile.log" />
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d{HH:mm:ss} %-5p [THREAD ID=%t] [Method:%M] %c{1}:%L - %m%n" />
    </layout>
  </appender>
  <root>
    <level value="INFO" />
    <appender-ref ref="console" />
    <appender-ref ref="file" />
  </root>
</log4j:configuration>

Ergebnis

Ein Bericht wird mit der Dateierweiterung .mrclog im Projekt-Ordner erzeugt. Details: Siehe "Ergebnisse der Prüfung in Sicht "Validieren"" und Überschrift "Bericht für Validierung".

Fehlerbehebung

Die Datei, die in der Konfigurationsdatei für das Protokoll angegeben ist, enthält Informationen über das Prüfen der Regeln. Falls das Prüfen der Regeln nicht erfolgreich war, beheben Sie das Problem gemäß der folgenden Tabelle.

Rückgabe-Code

Meldung (ausgegeben auf STDOUT oder STDERR)

Ursache

Lösung

0

Check successful (0)

 

 

-1

Check failed (Parameter Error, -1): Name

Ein Argument oder Parameter fehlt.

Rufen Sie das Werkzeug wie oben angegeben auf.

-2

Check failed (-2): Project not found

Das angegebene Projekt existiert nicht.

Geben Sie ein vorhandenes Projekt an. Oder rufen Sie das Werkzeug mit dem absoluten Pfad für das Projekt auf.

-6

Check failed (-6): Workspace not empty

Der Arbeitsbereich enthält bereits Daten (z.B. ein oder mehrere Neuron Power Engineer-Projekte).

Verwenden Sie einen leeren Arbeitsbereich oder entfernen Sie alle vorhandenen Daten aus dem aktuellen Arbeitsbereich.
Alternative: Rufen Sie das Werkzeug ohne den Parameter -checkEmptyWorkspace auf.

-7

Check failed (-7): The object "name" does not exist in the project "name".

Das angegebene Objekt existiert nicht.

Geben Sie ein vorhandenes Objekt an. Oder rufen Sie das Werkzeug ohne den Parameter -objectToValidate auf.

-127

(Details: exception message)

Ein unerwarteter Fehler ist aufgetreten

Kontaktieren Sie Neuron.